Delays can perform many useful functions in digital circuit designs. For example, delays may adjust a data bus strobe signal (DQS) for reading and writing optimally at the center of data. Delays may also lengthen or shorten the arrival time of signals, change relative signal phases, provide setup or initialization time, or adjust skew on data bus signals (DQ) for edge transition alignment. Implementing a delay locked loop (DLL) is often the default approach to provide such delays. However, the DLL approach suffers from several drawbacks such as higher power consumption requirements and lower delay accuracy.